package com.starry.module.system.core.file.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.starry.db.core.entity.BaseEntity;
import com.starry.module.system.api.file.enums.FileStorage;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

/**
 * 文件配置-实体
 * @author xiaoke
 */
@Schema(description = "文件配置实体")
@EqualsAndHashCode(callSuper = true)
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("sys_file_config")
public class FileConfig extends BaseEntity {

    /**
     * 编号
     */
    @TableId
    private Long id;

    /**
     * 配置名
     */
    @Schema(description = "配置名")
    private String name;
    /**
     * 存储器
     */
    @Schema(description = "存储器")
    private FileStorage storage;
    /**
     * 备注
     */
    @Schema(description = "备注")
    private String remark;
    /**
     * 是否为主配置
     */
    @Schema(description = "是否为主配置")
    private Integer master;
    /**
     * bucket
     */
    @Schema(description = "bucket")
    private String bucket;
    /**
     * 基础路径（本地存储）
     */
    @Schema(description = "基础路径（本地存储）")
    private String basePath;
    /**
     * 节点地址
     */
    @Schema(description = "节点地址")
    private String endpoint;
    /**
     * 自定义域名
     */
    @Schema(description = "自定义域名")
    private String domain;
    /**
     * accessKey
     */
    @Schema(description = "accessKey")
    private String accessKey;
    /**
     * accessSecret
     */
    @Schema(description = "accessSecret")
    private String accessSecret;
}

